﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Data;

public partial class GestionarRegistrarUsuario_logueoUsuario : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["logout"] == "out" && (!Page.IsPostBack))
        {
            Session.Abandon();
            Response.Redirect("../Principal.aspx");
        }

        if (Session["nomUsr"] != null || Session["nit"] != null)
            Response.Redirect("../Principal.aspx");
        
    }

    public void MessageBoxJS(string msg)
    {
        StringBuilder str = new StringBuilder("<script languaje = JavaScript>");
        str.Append("alert('" + msg + "');");
        str.Append("</script>");
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "PopUpScript", str.ToString());


    }

    private void VerificarUsuario()
    {
        Usuario usr = new Usuario();
        usr = usr.BuscarUsuario(TextBoxNomUsuario.Text);
        if(usr!=null)
            if (usr.ObtContrasena().Equals(TextBoxContrasena.Text))
            {
                GestionarPracticantes gp = new GestionarPracticantes();
                DataRow prac = gp.ObtPractEspecifico(usr.ObtNombreUsuario());
                if (prac != null)
                {
                    if(prac["estado"].ToString().Equals("habilitado"))
                        IniciarSesionUsuario(usr);
                    else
                        notificacion.Text = "Su cuenta esta deshabilitada";
                }
                else
                    IniciarSesionUsuario(usr);
            }
            else
                notificacion.Text = "El Nombre de Usuario y Contraseña no coinciden";
    }

    //private void VerificarUsuario()
    //{
    //    Usuario usr = new Usuario();
    //    List<Usuario> listUsr = usr.consultarUsuario();
    //    bool bandera = false;
    //    foreach (Usuario usrc in listUsr)
    //    {
    //        if (usrc.ObtNombreUsuario() == TextBoxNomUsuario.Text && usrc.ObtContrasena() == TextBoxContrasena.Text)
    //        {
    //            bandera = true;
    //            IniciarSesionUsuario(usrc);
    //            break;
    //        }

    //    }

    //    if (bandera == false)
    //    {
    //        notificacion.Visible = true;
    //        notificacion.Text = "El Nombre de Usuario y contraseña no coinciden";
    //    }

    //}

    private void IniciarSesionUsuario(Usuario usr)
    {

        Session["nomUsr"] = usr.ObtNombreUsuario();
        Session["rolUsuario"] = usr.ObtRol();
        Permiso per = new Permiso();
        List<String> Permisos = per.obtPermisos(usr.ObtRol());
        Session.Add("Permisos", Permisos);
        Response.Redirect("../Principal.aspx");
        



    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        VerificarUsuario();
    }
}
